package com.zhangye.test.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.shiro.SecurityUtils;
import org.apache.shiro.subject.Subject;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import com.zhangye.test.model.Admin;
import com.zhangye.test.model.AdminRoles;



/**
 * 登录成功，跳到主页面
 * @author Administrator
 *
 */
@Controller
@RequestMapping(value = "admin")
public class MainController extends BaseController{
	

	/**
	 * 登录成功之后，获取个人信息，跳到主页面
	 * @author 张叶
	 * @version 创建时间：2016年7月16日 上午10:36:22
	 */
	@RequestMapping(value = "/main",method = RequestMethod.GET)
	public String main(Model model) {
		Admin a = adminService.getCurrent();
		if(a != null){
			String roleName = this.getAdminInfo(a);
			model.addAttribute("rName",roleName);
			model.addAttribute("admin",a);
		}
		return "main";
	}

	
	
	/**
	 * 
	 * 作者： 张叶
	 * 创建时间：2018年5月23日  上午11:40:04
	 */
	@RequestMapping("/home")
	public String home(Model model) {
		Admin admin = adminService.getCurrent();
		if(admin.getProxyCompanyId() != null && !"".equals(admin.getProxyCompanyId())){
			return "redirect:/admin/proxyAr/list";
		}else if (admin.getProxyId() != null && !"".equals(admin.getProxyId())){
			return "redirect:/admin/proxyCompany/proxyCompanyList";
		}
		return "home";
	}
	
	
	/**
	 * 获取登录人角色
	 * @author 张叶
	 * @version 创建时间：2016年7月16日 上午11:10:14
	 */
	private String getAdminInfo(Admin admin){
		String roleName = "";
		if(admin.getRoleid() != null && !"".equals(admin.getRoleid())){//当前登录人的角色ID有值
			Integer roleId = admin.getRoleid();
			AdminRoles adminRole = adminRolesService.findById(roleId.longValue());//角色ID在角色表是否有数据
			if(adminRole != null){//角色ID在角色表中有数据
				if(adminRole.getArName() != null && !"".equals(adminRole.getArName())){
					roleName = adminRole.getArName();
				}
			}
		}
		return roleName;
	}
	
	/**
	 * 退出操作
	 * @author 张叶
	 * @version 创建时间：2016年7月16日 下午4:02:43
	 */
	@RequestMapping(value = "/quit")
	public  ModelAndView quit(HttpServletRequest request, Model model,HttpServletResponse response){
		Subject currentUser = SecurityUtils.getSubject();
		currentUser.logout();
		request.getSession().invalidate();
		//清除cookies
		return new ModelAndView("redirect:/login/index");
	}
}
 